Q. 일반 함수 호출, 메서드 호출, 생성자 함수 호출마다 this는 어떤 값으로 바인딩 되나요?
🧑🏻💻 Answer.
✅ 일반 함수 호출
기본적으로 this에는 전역 객체(window)가 바인딩됩니다.
strict mode 에서는 undefined가 바인딩됩니다.
중첩 함수여도, 메서드 안 일반 함수로 호출 되어도 어떤 상황이든지 일반 함수로 호출되면 내부 this에는 전역 객체가 바인딩됩니다.
✅ 메서드 호출
- 메서드 내부의 this에는 메서드를 소유한 객체가 아닌, 메서드를 호출한 객체가 바인딩됩니다.
✅ 생성자 함수 호출
- 생성자 함수 내부의 this에는 생성자 함수가 생성할 인스턴스가 바인딩됩니다.